1. Field
The embodiments discussed herein are relates to a technique for operating a server in power-saving modes.
2. Description of Related Art
In recent years, because of increased awareness of the environmental problems, computers have been recommended to be operated in power saving modes. That is, when computers are idle, they are made to sleep. However, once a server (such as a file server, remote desktop server, Web server, or other computer) is made to sleep, if a request arrives from a client terminal (such as a personal computer that is a user terminal), the server cannot respond.
A first known technique for remotely restoring a server from sleep state via a network makes use of a magic packet. A magic packet is made of a packet consisting of 6 repetitions of 0xFF on an Ethernet frame followed by 16 repetitions of the MAC (Media Access Control) address of the server to be awakened. The magic packet is sent by broadcast. If the packet is received by a sleeping server, it is automatically wakened up and restored to normal operation.
A second conventional technique of automatic wakeup is also known. According to this technique, the NIC (network interface card) or architecture of the server is modified. If a request is received by the server that is asleep, the server is automatically wakened up and restored to normal operation.
A third conventional technique of automatic wakeup is also known. In particular, when a device is searched by a UPnP (Universal Plug and Play) method, a proxy server returns a response to the UPnP in place of a sleeping device. According to the need, the device is restored from the sleeping state.
A fourth conventional technique having the following features is also known. In this technique, a proxy server is installed and monitors packets flowing through a network. If the proxy server finds a request destined for a sleeping personal computer (PC), the server searches sets of responses corresponding to the request destined for the PC, the sets of responses being previously stored inside the server. If a pertinent one is found, the server returns it on behalf of the PC. If there is not any pertinent set, the proxy server restores the PC from its sleeping state. When the PC is restored to normal operation, a request is forwarded to the PC, prompting it to make a response.
However, the aforementioned first conventional technique suffers from less convenience in use in the following respects. MAC addresses do not have any name resolution mechanism unlike the DNS. Therefore, it is necessary for the user to previously know the MAC address of the server. However, generally, the user of a client terminal is not in a position where the user manages a remote server. There is no means for knowing the MAC address of the server. Since a magic packet is sent by broadcast, the magic packet can be employed only by terminals within the same LAN as the server. As a result, the user must gain access to a computer within the LAN of the server and send a magic packet to the server to restore it to normal operation. Then, the user must make an access to the server again. In this way, much labor is necessary.
The aforementioned second conventional technique has the problem that the existing computer hardware (network IF) needs to be modified and hence it is quite costly to introduce the technique to the existing computer environment.
Another conceivable technique involves managing the MAC addresses of servers by means of a router or hub. If a request destined for a server is detected, and if the server is asleep, it is restored to normal operation, and a request is sent to the server. However, in the same way as in the second conventional technique, the firmware or hardware of the router needs to be modified. It is difficult to introduce this technique to the existing computer environment because of cost and implementability considerations.
Application of the aforementioned third conventional technique is restricted to UPnP devices. Therefore, use of UPnP is assumed. Since UPnP is based on multicast communications, it is possible to monitor only UPnP requests from client terminals located within the same LAN as the UPnP devices. Accordingly, remote wakeup that would be normally invoked by a service request used in normal unicast communications cannot be done. Consequently, this technique has the problem that it does not contribute to improvement of convenience of general power saving operation of servers.
Additionally, the aforementioned fourth conventional technique needs no hardware modifications and requires only introduction of a new proxy server and thus presents few cost problems. However, the following problems may arise. All packets must be monitored and matching of packet destinations must be done. This results in poor performance. Many restrictions are imposed on installation of the proxy server and hence this technique is difficult to realize. More specifically, recent LANs are made up of switches. Packets are sent to only the port with which a destination computer is connected. An area permitting monitoring of all packets within the LAN cannot be secured. Even if a target server restored from sleeping state, the request cannot be always processed by the server. In some cases, a request must be resent from a client terminal, because it is unlikely that the proxy server grasps even the status of the process in the server. A case is assumed in which the proxy server forwards the request at the instant when the OS is restored from sleep state and made communicable.